 1.HiveServer2
   
   HiveServer2是一个服务端接口，使远程客户端可以执行对Hive的查询并返回结果。
目前基于Thrift RPC的实现是HiveServer的改进版本，并支持多客户端并发和身份验
证，启动hiveServer2服务后，就可以使用jdbc、odbc、thrift 的方式连接。
   Thrift是一种接口描述语言和二进制通讯协议，它被用来定义和创建跨语言的服务。
它被当作一个远程过程调用（RPC）框架来使用，是由Facebook为“大规模跨语言服
务开发”而开发的。
  HiveServer2（HS2）是一种允许客户端对Hive执行查询的服务。HiveServer2是
HiveServer1的后续 版本。HS2支持多客户端并发和身份验证，旨在为JDBC、ODBC
等开放API客户端提供更好的支持。
  HS2包括基于Thrift的Hive服务（TCP或HTTP）和用于Web UI 的Jetty Web服务器。
  HiveServer2作用：
  为Hive提供了一种允许客户端远程访问的服务
  基于thrift协议，支持跨平台，跨编程语言对Hive访问
  允许远程访问Hive
  HiveServer2配置
  配置规划：
  节点         HiveServer2  client
  linux121   
  linux122                    √
  linux123         √ 
  配置步骤：
  1).修改集群上的 core-site.xml，增加以下内容：
  <!-- HiveServer2 连不上10000；hadoop为安装用户 -->
  <!-- root用户可以代理所有主机上的所有用户 -->
  <property>  
        <name>hadoop.proxyuser.root.hosts</name>  
        <value>*</value>
  </property>
  <property>  
        <name>hadoop.proxyuser.root.groups</name>  
        <value>*</value>
  </property>
  <property>
        <name>hadoop.proxyuser.hadoop.hosts</name>
        <value>*</value>
  </property>
  <property>
        <name>hadoop.proxyuser.hadoop.groups</name>
        <value>*</value>
  </property>
  2).修改 集群上的 hdfs-site.xml，增加以下内容：
  <!-- HiveServer2 连不上10000；启用 webhdfs 服务 -->
  <property> 
        <name>dfs.webhdfs.enabled</name> 
        <value>true</value> 
  </property>
  3).启动linux123上的 HiveServer2 服务
  # 启动 hiveserver2 服务
   nohup hiveserver2 &
  # 检查 hiveserver2 端口
    lsof -i:10000
  # 从2.0开始，HiveServer2提供了WebUI
  # 还可以使用浏览器检查hiveserver2的启动情况。http://linux123:10002/
  4).启动 linux122 节点上的 beeline
   Beeline是从 Hive 0.11版本引入的，是 Hive 新的命令行客户端工具。
   Hive客户端工具后续将使用Beeline 替代 Hive 命令行工具 ，并且后续版本也会废弃掉 Hive 客户端工具。
   ./beenline
   !connect jdbc:hive2://linux123:10000
    use mydb;
    show tables;
     select * from emp;
     create table tabtest1 (c1 int, c2 string);
     !connect jdbc:mysql://linux123:3306
      !help
      !quit